package com.junxonline.instant.admin.service.config;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junxonline.instant.dao.entity.dto.ui.SelectNodeDTO;
import com.junxonline.instant.dao.entity.model.config.Region;
import com.junxonline.instant.dao.entity.vo.config.RegionVO;
import com.junxonline.instant.common.entity.common.CommonReqPage;
import com.junxonline.instant.common.entity.common.CommonRespPage;

import java.util.List;

/**
 * 区域管理接口
 *
 * @author JunX
 * @date 2021-07-18
 */
public interface RegionService extends IService<Region> {

    /**
     * 查询区域列表（Select）
     *
     * @param wrapper 条件查询器
     * @return List<SelectNodeDTO>
     */
    List<SelectNodeDTO> querySelect(Wrapper<Region> wrapper);

    /**
     * 查询区域列表
     *
     * @param vo 请求参数
     * @return CommonRespPage<Region>
     */
    CommonRespPage<Region> queryList(CommonReqPage<RegionVO> vo);

    /**
     * 查询区域
     *
     * @param id ID
     * @return Role
     */
    Region query(Long id);

    /**
     * 新增区域
     *
     * @param region 请求参数
     */
    void add(Region region);

    /**
     * 编辑区域
     *
     * @param region 请求参数
     */
    void edit(Region region);

    /**
     * 删除区域
     *
     * @param ids 请求参数
     */
    void delete(List<Long> ids);

}
